package com.jwsoft.manager.common.vo.common.pdfSignRequest;

import com.bifang.assistant.common.vo.BaseVO;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.Date;

/**
 * PDF签章请求模板表VO
 *
 * @author zhang
 * @since 2025-02-06
 */
@Data
@EqualsAndHashCode(callSuper = false)
public class PdfSignRequestVO extends BaseVO {

    @Schema(name = "id", description = "主键ID")
    private Long id;

    @Schema(name = "templateType", description = "模板类型")
    private String templateType;
    private String templateTypeName;

    @Schema(name = "signType", description = "签署类型：1单页签，2多页签，3骑缝签，4关键字签")
    private String signType;
    private String signTypeName;

    @Schema(name = "posPage", description = "页码，若为关键字定位此项无需传递，默认1")
    private String posPage;

    @Schema(name = "posX", description = "X坐标，若为关键字定位，相对于关键字的X坐标偏移量，默认0")
    private Float posX;

    @Schema(name = "posY", description = "Y坐标，若为关键字定位，相对于关键字的Y坐标偏移量，默认0")
    private Float posY;

    @Schema(name = "keyName", description = "关键字，若为关键字定位，此项必填")
    private String keyName;

    @Schema(name = "sealSn", description = "印章编号")
    private String sealSn;

    @Schema(name = "pwdB64", description = "文件密码")
    private String pwdB64;

    @Schema(name = "keyIndex", description = "指定的第N个关键字索引，默认0")
    private Integer keyIndex;

    @Schema(name = "addSignTime", description = "是否添加签署日期，默认false")
    private Boolean addSignTime;

    @Schema(name = "createName", description = "创建人")
    private String createName;

    @Schema(name = "createTime", description = "创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    @Schema(name = "showId", description = "文件的showId")
    private String showId;

    @Schema(name = "fileName", description = "文件的名称")
    private String fileName;
}
